78 #define SLAVE_ADDRESS 0x48
84 WDT_A_hold(WDT_A_BASE);
87 GPIO_setAsPeripheralModuleFunctionInputPin(
92 GPIO_setAsPeripheralModuleFunctionInputPin(
105 EUSCI_B_I2C_initSlaveParam
param = {0};
107 param.slaveAddressOffset = EUSCI_B_I2C_OWN_ADDRESS_OFFSET0;
108 param.slaveOwnAddressEnable = EUSCI_B_I2C_OWN_ADDRESS_ENABLE;
109 EUSCI_B_I2C_initSlave(EUSCI_B0_BASE, &
param);
111 EUSCI_B_I2C_enable(EUSCI_B0_BASE);
113 EUSCI_B_I2C_clearInterrupt(EUSCI_B0_BASE,
114 EUSCI_B_I2C_RECEIVE_INTERRUPT0
117 EUSCI_B_I2C_enableInterrupt(EUSCI_B0_BASE,
118 EUSCI_B_I2C_RECEIVE_INTERRUPT0
121 __bis_SR_register(CPUOFF + GIE);
134 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
135 #pragma vector=USCI_B0_VECTOR
137 #elif defined(__GNUC__)
138 __attribute__((interrupt(USCI_B0_VECTOR)))
142 switch(__even_in_range(UCB0IV, USCI_I2C_UCBIT9IFG))
146 case USCI_I2C_UCALIFG:
148 case USCI_I2C_UCNACKIFG:
150 case USCI_I2C_UCSTTIFG:
152 case USCI_I2C_UCSTPIFG:
154 case USCI_I2C_UCRXIFG3:
156 case USCI_I2C_UCTXIFG3:
158 case USCI_I2C_UCRXIFG2:
160 case USCI_I2C_UCTXIFG2:
162 case USCI_I2C_UCRXIFG1:
164 case USCI_I2C_UCTXIFG1:
166 case USCI_I2C_UCRXIFG0:
167 RXData = EUSCI_B_I2C_slaveGetData(EUSCI_B0_BASE);
169 case USCI_I2C_UCTXIFG0:
171 case USCI_I2C_UCBCNTIFG:
173 case USCI_I2C_UCCLTOIFG:
175 case USCI_I2C_UCBIT9IFG:
MPU_initThreeSegmentsParam param